Mapping with a Deep Learning Network


Mapping with a Deep Learning network

The supervised learning layers of a deep learning network can be used to implement a traditional multilayer network. In other exercise, we will repeat this exercise using a deep learning network with unsupervised learning layers and supervised learning layers.
Las capas con aprendizaje supervisado de una red neuronal de aprendizaje profundo pueden ser usados para implementar una red multicapa tradicional. En otro ejercicio, repetiremos este ejercicio usando una red de aprendizaje profundo con capas usando aprendizaje con supervisión y con capas usando aprendizaje sin supervisión.

Problem 1
Repeat the problem in Convolutional NN > Mapping to learn the sine and cosine functions using a deep learning neural network using only supervised learning layers. Create a new project, select Deep Learning Network and General purpose in the new project dialog. The project name must be DeepSinCos. After creating the project, copy the following files from the ConvSinCos folder to the DeepSinCos folder.
  1. trainSetInput.csv
  2. trainSetTarget.csv
  3. validSetInput.csv
  4. validSetTarget.csv

Repita el problema en Convolutional NN > Mapping para aprender las funciones seno y coseno usando una red neural de aprendizaje profundo usando solamente capas con aprendizaje supervisado. Cree un nuevo proyecto, seleccione Deep Learning Network y General purpose en el diálogo de nuevo proyecto. El nombre del proyecto debe ser DeepSinCos. Después de crear el proyecto, copie los siguientes archivos de la carpeta ConvSinCos a la carpeta DeepSinCos.
  1. trainSetInput.csv
  2. trainSetTarget.csv
  3. validSetInput.csv
  4. validSetTarget.csv

Step A
Edit the Train.lab file, then execute the code.
Edite el archivo Train.lab, entonces ejecute el código.

DeepSinCos\Train.lab
//_________________________________________ 1. Network setup
DeepNet net;
net.Create(1, 2);
net.SetLayer(0, 1, 10); // logsig=1
net.SetLayer(1, 1, 2); // logsig=1
net.SetInScaler(0, 0.0, 2.0*3.1416);
net.SetOutScaler(0, -1.0, 1.0);
net.SetOutScaler(1, -1.0, 1.0);
//_________________________________________ 2. Load training set
Matrix trainSetInput;
trainSetInput.Load();
Matrix trainSetTarget;
trainSetTarget.Load();
net.SetTrainSet(trainSetInput, trainSetTarget, false);
//_________________________________________ 3. Train
net.TrainSimAnneal(
     10, //Number of Temperatures
     10, //Number Iterations
     15, //Initial Temperature
     0.001, //Final Temperature
     true, // Is Cooling Schedule Linear?
     4, // Number of Cycles
     1.0e-5, // Goal (desired mse)
     true // Use Singular Value Decomposition
);
net.TrainConjGrad(2500, 1.0e-10);
net.Save();

Step B
Edit the CheckTrain.lab file, then execute the code to check the training.
Edite el archivo CheckTrain.lab, entonces ejecute el código para verificar el entrenamiento.

DeepSinCos\CheckTrain.lab

CheckTraining

Step C
Edit the Validation.lab file, then execute the code to validate the performance of the network.
Edite el archivo CheckTrain.lab, entonces ejecute el código para validar el desempeño de la red neuronal.

DeepSinCos\Validation.lab
//_________________________________________ 1. Load the validation set
Matrix validSetInput;
validSetInput.Load();
Matrix validSetTarget;
validSetTarget.Load();
//_________________________________________ 2. Load the ANN
DeepNet net;
net.Load();
//_________________________________________ 3. Run
Matrix output;
net.Run(validSetInput, output);
double mse = ComputeMse(validSetTarget, output);
//_________________________________________ 4. Relative Error
Vector error = ComputeRelError(output, validSetTarget);
XyChart validation;
validation.SetCaption("case", false, "Relative Error", false);
validation.AddGraphY(error, "Relative Error", 2, 1, 0, 255, 0);
validation.SetLogScale(false, true);
validation.SetLimits(0, validSetTarget.GetRowCount(), 1.0e-10, 1.0);
validation.SetColorMode(2);
validation.SaveAndShow();
validation.SavePDF(0.0);
validation.SaveEMF();

Validation

Step D
Add a new file called TrainSim.lab to the project. Execute the program, then click on "Graph" in the toolbar to simulate the network using the training set.
Agregue un archivo nuevo llamado TrainSim.lab al proyecto. Ejecute el programa, entonces haga clic en "Graph" en la barra de herramientas para simular la red usar el conjunto de datos de entrenamiento.

DeepSinCos\TrainSim.lab
DeepNet net;
net.Load();
//_________________________________________ 1. Input
Matrix trainSetInput;
trainSetInput.Load();
//_________________________________________ 2. Target
Matrix trainSetTarget;
trainSetTarget.Load();
Vector sinTarget = trainSetTarget.GetColVec(0); // Extract one column vector
Vector cosTarget = trainSetTarget.GetColVec(1); // Extract one column vector
//_________________________________________ 3. ANN output
Matrix output;
net.Run(trainSetInput, output);
Vector sinNN = output.GetColVec(0);
Vector cosNN = output.GetColVec(1);


TrainSim

Step E
Add a new file called ValidSim.lab to the project. Execute the program, then click on "Graph" in the toolbar to simulate the network using the validation set.
Agregue un archivo nuevo llamado ValidSim.lab al proyecto. Ejecute el programa, entonces haga clic en "Graph" en la barra de herramientas para simular la red usar el conjunto de datos de validación.

DeepSinCos\ValidSim.lab
DeepNet net;
net.Load();
//_________________________________________ 1. Input
Matrix validSetInput;
validSetInput.Load();
Vector in = validSetInput.GetColVec(0);
//_________________________________________ 2. Target
Matrix validSetTarget;
validSetTarget.Load();
Vector sinTarget = validSetTarget.GetColVec(0); // Extract one column vector
Vector cosTarget = validSetTarget.GetColVec(1); // Extract one column vector
//_________________________________________ 3. ANN output
Matrix output;
net.Run(validSetInput, output);
Vector sinNN = output.GetColVec(0);
Vector cosNN = output.GetColVec(1);

ValidSim

© Copyright 2000-2021 Wintempla selo. All Rights Reserved. Jul 22 2021. Home